package org.wenhuayuan.uilibrary.tab.common;

import android.view.ViewGroup;

import androidx.annotation.NonNull;

import java.util.List;

/**
 * @param <Tab> 单个自定义tab
 * @param <D> tab对应的数据实体
 */
public interface IHiTabLayout<Tab extends ViewGroup, D> {
    Tab findTab(@NonNull D data);
    void addTabSelectedChangeListener(OnTabSelectedListener<D> listener);
    void defaultSelected(@NonNull D defaultInfo);
    void inflateInfo(@NonNull List<D> infoList);

    interface OnTabSelectedListener<D> {
        void onTabSelectedChange(int index,  D prevInfo, @NonNull D nextInfo);
    }
}
